import request from '@/utils/request'

/**
 * @description: 获取所有频道列表
 * @param {Object} data
 * @return {*} obj
 */
export const getAllChannels = () =>
  request({
    url: '/v1_0/channels',
  })

/**
 * @description: 获取文章列表
 * @param {Object} reqObj 请求对象
 * @return {*}
 */
export const getArticleList = reqObj =>
  request({
    url: '/v1_0/mp/articles',
    params: reqObj,
  })

/**
 * @description: 删除文章
 * @param {Object} articleId 文章id
 * ! 不允许直接删除 已正式发表的文章，如想删除，需要先编辑，将其变为待审核或者草稿才可以删除
 * @return {*}
 */
export const deleteArticle = articleId =>
  request({
    url: `/v1_0/mp/articles/${articleId}`,
    method: 'DELETE',
  })

/**
 * @description: 发表文章
 * @param {boolean} draft 是否存为草稿
 * true 是
 * false 否，默认为 false
 * @param {Object} reqObj 请求参数主体
 * {string} title （必须）文章标题
 * {string} content （必须）文章内容
 * {object} cover （必须）文章内容
 *    {string} type （必须）封面类型（-1:自动；0-无图；1-1张；3-3张；）
 *    {array} images （必须）地址数组集
 * {number} channel_id （必须）文章所属频道 id
 * @return {*}
 */
export const publishArticle = (draft, reqObj) =>
  request({
    url: `/v1_0/mp/articles/?draft=${draft}`,
    method: 'POST',
    data: reqObj,
  })

/**
 * @description: 获取文章详情
 * @param {Object} articleId 文章id
 * @return {*}
 */
export const getArticleDetail = articleId =>
  request({
    url: `/v1_0/mp/articles/${articleId}`,
  })

/**
 * @description: 编辑文章
 * @param {Object} articleId 文章id
 * @return {*}
 */
export const modifiArticleDetail = (articleId, draft, reqObj) =>
  request({
    url: `/v1_0/mp/articles/${articleId}/?draft=${draft}`,
    method: 'PUT',
    data: reqObj,
  })
